This page last changed on Sep 10, 2012 by headley.

LCM on beaglebone

======
build on target
======

wget https://lcm.googlecode.com/files/lcm-0.9.0.tar.gz

./configure
libtoolize --copy --force see note
make
make install

installs
/usr/local/bin/lcm-gen
lcm-gen lcm-logger lcm-logplayer lcm-logplayer-gui lcm-spy

/usr/local/lib/
liblcm.la liblcm.so liblcm.so.1 liblcm.so.1.2.0

==========
Note: about running libtoolize

https://bugzilla.yoctoproject.org/show_bug.cgi?id=2347

Something is wrong with the libtool on the target. The "=" syntax is correct, the target libtool for some reason is not evaluating it.

Two possibilities come to mind. The first is you are compiling something on the target that included libtool preinstalled. If that is the case, you need to run libtoolize --copy --force to ensure that the correct version of libtool is used.
...
Running autoreconf --force --install (which runs 'libtoolize --copy --force' among other things) fixes the issue.
[this didn't work for me; it indicated that autopoint was needed]
==========
Libraries have been installed in:
/usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:

  • add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
  • add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
  • use the `-Wl,-rpath -Wl,LIBDIR' linker flag
  • have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

============
============

cd tmp/lcm-0.9.0/examples/types
lcm-gen -c example_t.lcm
mv exlcm_example_t.* .../c

cd tmp/lcm-0.9.0/examples/c
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make
creates listener, listener\-async, read\_log, send\-message
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

./listener-async &
./send-message

============
forwarding x11 display from beaglbone ot mac (e.g. for lcm-spy)
============
on mac:
run x11 app
xhost +<beagleboneHost> must do each time you run x11
ssh user@beagleboneHost

on beaglebone:
export DISPLAY=macHost:0.0
lcm-spy

[have not yet gotten X forwarding to work to Ubuntu VM.
One post said xhost is not secure, and to use

  • ssh w/ -X option,
  • to install xbase-clients package on the ubuntu host.
  • to edit /etc/ssh/sshd_config), and set the line
    X11Forwarding yes

this didn't work for me.
]

Document generated by Confluence on Feb 03, 2026 14:29